package cn.tedu.charging.order.feign;

import cn.tedu.charging.common.pojo.JsonResult;
import cn.tedu.charging.common.pojo.param.UpdateGunStatusParam;
import cn.tedu.charging.common.pojo.vo.UserDetailVO;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;

/**
 * 定义一个接口
 * 用来 通过 feign 调用设备模块
 * feign 服务通信 的另外的一种方式
 * 相对于 RestTemplate 更加的简单
 *
 * @FeignClient(name = "charging-device")
 * 表示是个一个feign客户端
 * name 表示要调用的服务名称 charging-device
 * nacos里 注册的用户服务的 服务名称
 */
@FeignClient(name = "charging-device")
public interface DeviceFeignClient {

    /**
     * 调用设备服务的 更新枪状态接口
     * 调用方式 POST @PostMapping
     * 地址  /device/gun/update/status
     * 入参 @RequestBody UpdateGunStatusParam
     * 出参 JsonResult<Boolean>
     */
    @GetMapping("/device/gun/update/status")
    JsonResult<Boolean> updateGunStatus(@RequestBody UpdateGunStatusParam updateGunStatusParam) ;

}
